package ishitong.vehicleManagement.dao;

import ishitong.vehicleManagement.model.SpecialPlate;
import com.ishitong.platform.common.dao.GenericDao;
import com.ishitong.platform.common.page.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import ishitong.vehicleManagement.model.SpecialPlateQuery;
import java.util.List;
import java.util.ArrayList;

/** @pdOid 055462d5-90b4-496e-8891-8f6bf0c26ea9
 * @创建日期:2013-09-27 12:15:24
 * 
 * @功能描述:RVIMS_SpecialPlate
 * @开发人员:福建视通 */
@Repository(value="specialPlateDao")
public class SpecialPlateDao extends GenericDao<SpecialPlate> {
   /** @param query 
    * @param pageSize 
    * @param pageNum
    * @pdOid 14dbe6ee-de18-477b-a06f-24eb5b393404
    * @功能描述: 通过SpecialPlateQuery对象，查询RVIMS_SpecialPlate
    * @异常类型: */
   public Page findPage(SpecialPlateQuery query, int pageSize, int pageNum) {
   	StringBuilder hql=new StringBuilder();
   	hql.append(" from SpecialPlate ett where 1=1");
   	List param=new ArrayList();
   	if(query!=null){
   		if(!StringUtils.isEmpty(StringUtils.trimToEmpty(query.getId()))){
   			hql.append(" and ett.id=?");
   			param.add(query.getId().trim());
   		}
   		if(!StringUtils.isEmpty(StringUtils.trimToEmpty(query.getPlateNum()))){
   			hql.append(" and ett.plateNum=?");
   			param.add(query.getPlateNum().trim());
   		}
   		if(!StringUtils.isEmpty(StringUtils.trimToEmpty(query.getMatchWayId()))){
   			hql.append(" and ett.matchWayId=?");
   			param.add(query.getMatchWayId().trim());
   		}
   		if(!StringUtils.isEmpty(StringUtils.trimToEmpty(query.getPlateTypeId()))){
   			hql.append(" and ett.plateTypeId=?");
   			param.add(query.getPlateTypeId().trim());
   		}
   		if(query.getMatchWay()!=null){
   			hql.append(" and ett.matchWay=?");
   			param.add(query.getMatchWay());
   		}
   		if(query.getPlateType()!=null){
   			hql.append(" and ett.plateType=?");
   			param.add(query.getPlateType());
   		}
   	}
   	return this.findByHql(hql.toString(), pageSize, pageNum, param.toArray());
   }
   
   /** @param query
    * @pdOid 6ed67b77-5404-4ea3-a2ef-1ed41ddb7a55
    * @功能描述: 通过SpecialPlateQuery对象，查询RVIMS_SpecialPlate
    * @异常类型: */
   public List<SpecialPlate> findList(SpecialPlateQuery query) {
   	StringBuilder hql=new StringBuilder();
   	hql.append(" from SpecialPlate ett where 1=1");
   	List param=new ArrayList();
   	if(query!=null){
   		if(!StringUtils.isEmpty(StringUtils.trimToEmpty(query.getId()))){
   			hql.append(" and ett.id=?");
   			param.add(query.getId().trim());
   		}
   		if(!StringUtils.isEmpty(StringUtils.trimToEmpty(query.getMatchWayId()))){
   			hql.append(" and ett.matchWayId=?");
   			param.add(query.getMatchWayId().trim());
   		}
   		if(!StringUtils.isEmpty(StringUtils.trimToEmpty(query.getPlateTypeId()))){
   			hql.append(" and ett.plateTypeId=?");
   			param.add(query.getPlateTypeId().trim());
   		}
   		if(query.getMatchWay()!=null){
   			hql.append(" and ett.matchWay=?");
   			param.add(query.getMatchWay());
   		}
   		if(query.getPlateType()!=null){
   			hql.append(" and ett.plateType=?");
   			param.add(query.getPlateType());
   		}
   	}
   	return this.findFastByHql(hql.toString(), param.toArray());
   }

}